package com.yuehuanghun.admin.generator.model.generator;

import java.util.Date;
import java.util.List;
import javax.sql.DataSource;
import com.yuehuanghun.admin.generator.model.Table;

public interface TableGenerator {
    /**
     * 设置数据源，针对多数据源方便使用
     * @param dataSource
     */
    void setDataSource(DataSource dataSource);
    
    /**
     * 分页查询待导入的表信息
     * @param tableName
     * @param tableComment
     * @param createTimeBegin
     * @param createTimeEnd
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<Table> getSimpleTableInfo(String tableName, String tableComment, Date createTimeBegin, Date createTimeEnd, int pageNum, int pageSize);
    
    /**
     * 构建所有未导入的表
     * @return
     */
    List<Table> genAllTables();
    
    /**
     * 构建指定表
     * @param tableName
     * @return
     */
    Table genTable(String tableName);
    
    String getDbName();
}
